package ncs.controlador.bean;

import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import ncs.modelo.dao.CompradorDao;
import ncs.modelo.dao.TipoFuenteInfoDao;
import ncs.modelo.dao.UbigeoDao;
import ncs.modelo.entidades.TCliente;
import ncs.modelo.entidades.TTipoFuenteInfo;
import ncs.modelo.entidades.TUbigeo;
import ncs.modelo.impl.CompradorDaoImpl;
import ncs.modelo.impl.TipoFuenteInfoDaoImpl;
import ncs.modelo.impl.UbigeoDaoImpl;

/**
 *
 * @author yoel
 */
@ManagedBean(name = "administrarCompradorBean")
@SessionScoped
public class AdministrarCompradorBean {

    private List<TTipoFuenteInfo> tipofuentes;
    private List<TUbigeo> ubigeos;
    private TCliente comprador;
    private List<TCliente> compradores;

    public AdministrarCompradorBean() {
        comprador = new TCliente();
        comprador.setTUbigeo(new TUbigeo());
        comprador.setTTipoFuenteInfo(new TTipoFuenteInfo());
    }

    public void prepararInsertar() {
        comprador = new TCliente();
        comprador.setTUbigeo(new TUbigeo());
        comprador.setTTipoFuenteInfo(new TTipoFuenteInfo());
    }

    public void insertar() {
        CompradorDao compradorDao = new CompradorDaoImpl();
        compradorDao.insertar(comprador);
        comprador = new TCliente();
        comprador.setTUbigeo(new TUbigeo());
        comprador.setTTipoFuenteInfo(new TTipoFuenteInfo());
    }

    public void actualizarComprador() {
        CompradorDao compradorDao = new CompradorDaoImpl();
        compradorDao.actualizar(comprador);
        comprador = new TCliente();
        comprador.setTUbigeo(new TUbigeo());
        comprador.setTTipoFuenteInfo(new TTipoFuenteInfo());
    }

    public void prepararComprador(String id) {
        CompradorDao compradorDao = new CompradorDaoImpl();
        comprador = compradorDao.buscarPorId(id);
    }

    public void cambiarEstado(String id) {
        CompradorDao compradorDao = new CompradorDaoImpl();
        comprador = compradorDao.buscarPorId(id);
        if (comprador.isEstado()) {
            comprador.setEstado(false);
        } else {
            comprador.setEstado(true);
        }
        compradorDao.actualizar(comprador);
    }

    public List<TUbigeo> getUbigeos() {
        UbigeoDao ubigeoDao = new UbigeoDaoImpl();
        ubigeos = ubigeoDao.buscarTodos();
        return ubigeos;
    }

    public List<TTipoFuenteInfo> getTipoFuentes() {
        TipoFuenteInfoDao tipoFuenteInfoDao = new TipoFuenteInfoDaoImpl();
        tipofuentes = tipoFuenteInfoDao.buscarTodos();
        return tipofuentes;
    }

    public TCliente getComprador() {
        return comprador;
    }

    public void setComprador(TCliente comprador) {
        this.comprador = comprador;
    }

    public List<TCliente> getCompradores() {
        CompradorDao compradorDao = new CompradorDaoImpl();
        compradores = compradorDao.buscarTodos();
        return compradores;
    }
}
